// vite.config.js
import { defineConfig } from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/vite@4.5.3_@types+node@22.0.0_sass@1.77.8/node_modules/vite/dist/node/index.js";
import vue from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/@vitejs+plugin-vue@4.6.2_vite@4.5.3_@types+node@22.0.0_sass@1.77.8__vue@3.4.34_typescript@5.5.4_/node_modules/@vitejs/plugin-vue/dist/index.mjs";
import commonjs from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/@rollup+plugin-commonjs@25.0.8_rollup@3.29.4/node_modules/@rollup/plugin-commonjs/dist/es/index.js";
import AutoImport from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/unplugin-auto-import@0.11.5_@vueuse+core@9.13.0_vue@3.4.34_typescript@5.5.4___rollup@3.29.4/node_modules/unplugin-auto-import/dist/vite.js";
import Components from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/unplugin-vue-components@0.22.12_@babel+parser@7.25.0_rollup@3.29.4_vue@3.4.34_typescript@5.5.4_/node_modules/unplugin-vue-components/dist/vite.mjs";
import { ElementPlusResolver } from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/unplugin-vue-components@0.22.12_@babel+parser@7.25.0_rollup@3.29.4_vue@3.4.34_typescript@5.5.4_/node_modules/unplugin-vue-components/dist/resolvers.mjs";
import viteCompression from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/vite-plugin-compression@0.5.1_vite@4.5.3_@types+node@22.0.0_sass@1.77.8_/node_modules/vite-plugin-compression/dist/index.mjs";
import { resolve } from "path";
import requireTransform from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/vite-plugin-require-transform@1.0.21/node_modules/vite-plugin-require-transform/dist/index.mjs";
import { createSvgIconsPlugin } from "file:///C:/Users/20986/Desktop/node-blog/stable-version-of-blog/blog-v3/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@4.5.3_@types+node@22.0.0_sass@1.77.8_/node_modules/vite-plugin-svg-icons/dist/index.mjs";
var __vite_injected_original_dirname = "C:\\Users\\20986\\Desktop\\node-blog\\stable-version-of-blog\\blog-v3";
var vite_config_default = defineConfig({
  base: "./",
  root: process.cwd(),
  // 绝对路径
  resolve: {
    // 配置路径别名
    alias: [
      // 配置 @ 指代 src
      {
        find: "@",
        replacement: resolve(__vite_injected_original_dirname, "./src")
      }
    ],
    extensions: [".js", ".vue", ".json"]
  },
  // 按需导入element-plus main.js里不需要再引入了
  plugins: [
    vue(),
    commonjs(),
    // 自动导入element plus组件
    AutoImport({
      resolvers: [ElementPlusResolver()]
    }),
    Components({
      dts: true,
      dirs: "src/components",
      resolvers: [ElementPlusResolver()]
      // ElementPlus按需加载
    }),
    viteCompression({
      verbose: true,
      // 默认即可
      disable: false,
      //开启压缩(不禁用)，默认即可
      deleteOriginFile: false,
      //删除源文件
      threshold: 10240,
      //压缩前最小文件大小
      algorithm: "gzip",
      //压缩算法
      ext: ".gz"
      //文件类型
    }),
    // 让vite支持require
    requireTransform({
      fileRegex: /.js$|.vue$/
    }),
    // svg
    createSvgIconsPlugin({
      // Specify the icon folder to be cached
      iconDirs: [resolve(process.cwd(), "src/icons/svg")]
    })
  ],
  css: {
    preprocessorOptions: {
      // 引入全局scss
      scss: {
        additionalData: `@import "./src/styles/base.scss";`
      }
    }
  },
  server: {
    port: 5578,
    host: "0.0.0.0",
    https: false,
    open: true,
    // 热更新
    hmr: {
      overlay: false
    },
    proxy: {
      // 本地后端代理
      "/api": {
        //要访问的跨域的域名
        target: "http://localhost:8888",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, "")
      },
      // minio 代理
      "/blog-images": {
        target: "http://mrzym.top:9000/blog-images",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/blog-images/, "")
      },
      "/wapi": {
        // 网易云的音乐代理
        target: "http://120.79.93.195:3000",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/wapi/, "")
      }
    }
  },
  // 打包输出
  build: {
    sourcemap: false,
    // 消除打包大小超过500kb警告
    chunkSizeWarningLimit: 4e3,
    rollupOptions: {
      input: {
        index: resolve("index.html")
      },
      // 静态资源分类打包
      output: {
        chunkFileNames: "static/js/[name]-[hash].js",
        entryFileNames: "static/js/[name]-[hash].js",
        assetFileNames: "static/[ext]/[name]-[hash].[ext]"
      }
    }
  }
});
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFwyMDk4NlxcXFxEZXNrdG9wXFxcXG5vZGUtYmxvZ1xcXFxzdGFibGUtdmVyc2lvbi1vZi1ibG9nXFxcXGJsb2ctdjNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXDIwOTg2XFxcXERlc2t0b3BcXFxcbm9kZS1ibG9nXFxcXHN0YWJsZS12ZXJzaW9uLW9mLWJsb2dcXFxcYmxvZy12M1xcXFx2aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvMjA5ODYvRGVza3RvcC9ub2RlLWJsb2cvc3RhYmxlLXZlcnNpb24tb2YtYmxvZy9ibG9nLXYzL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IHZ1ZSBmcm9tIFwiQHZpdGVqcy9wbHVnaW4tdnVlXCI7XHJcbmltcG9ydCBjb21tb25qcyBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tY29tbW9uanNcIjsgLy8gXHU4QkE5dml0ZVx1NjI1M1x1NTMwNVx1NjUyRlx1NjMwMWNvbW1vbi5qc1x1OEJFRFx1NkNENVxyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tIFwidW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZVwiOyAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjVcdTdFQzRcdTRFRjZcclxuaW1wb3J0IENvbXBvbmVudHMgZnJvbSBcInVucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGVcIjsgLy8gXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1c3JjL2NvbXBvbmVudHNcdTRFMEJcdTc2ODRcdTdFQzRcdTRFRjZcclxuaW1wb3J0IHsgRWxlbWVudFBsdXNSZXNvbHZlciB9IGZyb20gXCJ1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnNcIjsgLy8gXHU2MzA5XHU5NzAwXHU1QkZDXHU1MTY1ZXBcclxuaW1wb3J0IHZpdGVDb21wcmVzc2lvbiBmcm9tIFwidml0ZS1wbHVnaW4tY29tcHJlc3Npb25cIjsgLy8gZ3ppcFx1NTM4Qlx1N0YyOVxyXG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IHJlcXVpcmVUcmFuc2Zvcm0gZnJvbSBcInZpdGUtcGx1Z2luLXJlcXVpcmUtdHJhbnNmb3JtXCI7IC8vIFx1NjUyRlx1NjMwMXJlcXVpcmVcclxuaW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tIFwidml0ZS1wbHVnaW4tc3ZnLWljb25zXCI7IC8vIFx1NjUyRlx1NjMwMXN2Z1xyXG5cclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcclxuICBiYXNlOiBcIi4vXCIsXHJcbiAgcm9vdDogcHJvY2Vzcy5jd2QoKSwgLy8gXHU3RUREXHU1QkY5XHU4REVGXHU1Rjg0XHJcbiAgcmVzb2x2ZToge1xyXG4gICAgLy8gXHU5MTREXHU3RjZFXHU4REVGXHU1Rjg0XHU1MjJCXHU1NDBEXHJcbiAgICBhbGlhczogW1xyXG4gICAgICAvLyBcdTkxNERcdTdGNkUgQCBcdTYzMDdcdTRFRTMgc3JjXHJcbiAgICAgIHtcclxuICAgICAgICBmaW5kOiBcIkBcIixcclxuICAgICAgICByZXBsYWNlbWVudDogcmVzb2x2ZShfX2Rpcm5hbWUsIFwiLi9zcmNcIiksXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgZXh0ZW5zaW9uczogW1wiLmpzXCIsIFwiLnZ1ZVwiLCBcIi5qc29uXCJdLFxyXG4gIH0sXHJcbiAgLy8gXHU2MzA5XHU5NzAwXHU1QkZDXHU1MTY1ZWxlbWVudC1wbHVzIG1haW4uanNcdTkxQ0NcdTRFMERcdTk3MDBcdTg5ODFcdTUxOERcdTVGMTVcdTUxNjVcdTRFODZcclxuICBwbHVnaW5zOiBbXHJcbiAgICB2dWUoKSxcclxuICAgIGNvbW1vbmpzKCksXHJcbiAgICAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjVlbGVtZW50IHBsdXNcdTdFQzRcdTRFRjZcclxuICAgIEF1dG9JbXBvcnQoe1xyXG4gICAgICByZXNvbHZlcnM6IFtFbGVtZW50UGx1c1Jlc29sdmVyKCldLFxyXG4gICAgfSksXHJcbiAgICBDb21wb25lbnRzKHtcclxuICAgICAgZHRzOiB0cnVlLFxyXG4gICAgICBkaXJzOiBcInNyYy9jb21wb25lbnRzXCIsXHJcbiAgICAgIHJlc29sdmVyczogW0VsZW1lbnRQbHVzUmVzb2x2ZXIoKV0sIC8vIEVsZW1lbnRQbHVzXHU2MzA5XHU5NzAwXHU1MkEwXHU4RjdEXHJcbiAgICB9KSxcclxuICAgIHZpdGVDb21wcmVzc2lvbih7XHJcbiAgICAgIHZlcmJvc2U6IHRydWUsIC8vIFx1OUVEOFx1OEJBNFx1NTM3M1x1NTNFRlxyXG4gICAgICBkaXNhYmxlOiBmYWxzZSwgLy9cdTVGMDBcdTU0MkZcdTUzOEJcdTdGMjkoXHU0RTBEXHU3OTgxXHU3NTI4KVx1RkYwQ1x1OUVEOFx1OEJBNFx1NTM3M1x1NTNFRlxyXG4gICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZSwgLy9cdTUyMjBcdTk2NjRcdTZFOTBcdTY1ODdcdTRFRjZcclxuICAgICAgdGhyZXNob2xkOiAxMDI0MCwgLy9cdTUzOEJcdTdGMjlcdTUyNERcdTY3MDBcdTVDMEZcdTY1ODdcdTRFRjZcdTU5MjdcdTVDMEZcclxuICAgICAgYWxnb3JpdGhtOiBcImd6aXBcIiwgLy9cdTUzOEJcdTdGMjlcdTdCOTdcdTZDRDVcclxuICAgICAgZXh0OiBcIi5nelwiLCAvL1x1NjU4N1x1NEVGNlx1N0M3Qlx1NTc4QlxyXG4gICAgfSksXHJcbiAgICAvLyBcdThCQTl2aXRlXHU2NTJGXHU2MzAxcmVxdWlyZVxyXG4gICAgcmVxdWlyZVRyYW5zZm9ybSh7XHJcbiAgICAgIGZpbGVSZWdleDogLy5qcyR8LnZ1ZSQvLFxyXG4gICAgfSksXHJcbiAgICAvLyBzdmdcclxuICAgIGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuICAgICAgLy8gU3BlY2lmeSB0aGUgaWNvbiBmb2xkZXIgdG8gYmUgY2FjaGVkXHJcbiAgICAgIGljb25EaXJzOiBbcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcInNyYy9pY29ucy9zdmdcIildLFxyXG4gICAgfSksXHJcbiAgXSxcclxuICBjc3M6IHtcclxuICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcclxuICAgICAgLy8gXHU1RjE1XHU1MTY1XHU1MTY4XHU1QzQwc2Nzc1xyXG4gICAgICBzY3NzOiB7XHJcbiAgICAgICAgYWRkaXRpb25hbERhdGE6IGBAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2Jhc2Uuc2Nzc1wiO2AsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgc2VydmVyOiB7XHJcbiAgICBwb3J0OiA1NTc4LFxyXG4gICAgaG9zdDogXCIwLjAuMC4wXCIsXHJcbiAgICBodHRwczogZmFsc2UsXHJcbiAgICBvcGVuOiB0cnVlLFxyXG4gICAgLy8gXHU3MEVEXHU2NkY0XHU2NUIwXHJcbiAgICBobXI6IHtcclxuICAgICAgb3ZlcmxheTogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgcHJveHk6IHtcclxuICAgICAgLy8gXHU2NzJDXHU1NzMwXHU1NDBFXHU3QUVGXHU0RUUzXHU3NDA2XHJcbiAgICAgIFwiL2FwaVwiOiB7XHJcbiAgICAgICAgLy9cdTg5ODFcdThCQkZcdTk1RUVcdTc2ODRcdThERThcdTU3REZcdTc2ODRcdTU3REZcdTU0MERcclxuICAgICAgICB0YXJnZXQ6IFwiaHR0cDovL2xvY2FsaG9zdDo4ODg4XCIsXHJcbiAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UoL15cXC9hcGkvLCBcIlwiKSxcclxuICAgICAgfSxcclxuICAgICAgLy8gbWluaW8gXHU0RUUzXHU3NDA2XHJcbiAgICAgIFwiL2Jsb2ctaW1hZ2VzXCI6IHtcclxuICAgICAgICB0YXJnZXQ6IFwiaHR0cDovL21yenltLnRvcDo5MDAwL2Jsb2ctaW1hZ2VzXCIsXHJcbiAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UoL15cXC9ibG9nLWltYWdlcy8sIFwiXCIpLFxyXG4gICAgICB9LFxyXG4gICAgICBcIi93YXBpXCI6IHtcclxuICAgICAgICAvLyBcdTdGNTFcdTY2MTNcdTRFOTFcdTc2ODRcdTk3RjNcdTRFNTBcdTRFRTNcdTc0MDZcclxuICAgICAgICB0YXJnZXQ6IFwiaHR0cDovLzEyMC43OS45My4xOTU6MzAwMFwiLFxyXG4gICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKC9eXFwvd2FwaS8sIFwiXCIpLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9LFxyXG4gIC8vIFx1NjI1M1x1NTMwNVx1OEY5M1x1NTFGQVxyXG4gIGJ1aWxkOiB7XHJcbiAgICBzb3VyY2VtYXA6IGZhbHNlLFxyXG4gICAgLy8gXHU2RDg4XHU5NjY0XHU2MjUzXHU1MzA1XHU1OTI3XHU1QzBGXHU4RDg1XHU4RkM3NTAwa2JcdThCNjZcdTU0NEFcclxuICAgIGNodW5rU2l6ZVdhcm5pbmdMaW1pdDogNDAwMCxcclxuICAgIHJvbGx1cE9wdGlvbnM6IHtcclxuICAgICAgaW5wdXQ6IHtcclxuICAgICAgICBpbmRleDogcmVzb2x2ZShcImluZGV4Lmh0bWxcIiksXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIFx1OTc1OVx1NjAwMVx1OEQ0NFx1NkU5MFx1NTIwNlx1N0M3Qlx1NjI1M1x1NTMwNVxyXG4gICAgICBvdXRwdXQ6IHtcclxuICAgICAgICBjaHVua0ZpbGVOYW1lczogXCJzdGF0aWMvanMvW25hbWVdLVtoYXNoXS5qc1wiLFxyXG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiBcInN0YXRpYy9qcy9bbmFtZV0tW2hhc2hdLmpzXCIsXHJcbiAgICAgICAgYXNzZXRGaWxlTmFtZXM6IFwic3RhdGljL1tleHRdL1tuYW1lXS1baGFzaF0uW2V4dF1cIixcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxufSk7XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBNlgsU0FBUyxvQkFBb0I7QUFDMVosT0FBTyxTQUFTO0FBQ2hCLE9BQU8sY0FBYztBQUNyQixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGdCQUFnQjtBQUN2QixTQUFTLDJCQUEyQjtBQUNwQyxPQUFPLHFCQUFxQjtBQUM1QixTQUFTLGVBQWU7QUFDeEIsT0FBTyxzQkFBc0I7QUFDN0IsU0FBUyw0QkFBNEI7QUFUckMsSUFBTSxtQ0FBbUM7QUFZekMsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsTUFBTTtBQUFBLEVBQ04sTUFBTSxRQUFRLElBQUk7QUFBQTtBQUFBLEVBQ2xCLFNBQVM7QUFBQTtBQUFBLElBRVAsT0FBTztBQUFBO0FBQUEsTUFFTDtBQUFBLFFBQ0UsTUFBTTtBQUFBLFFBQ04sYUFBYSxRQUFRLGtDQUFXLE9BQU87QUFBQSxNQUN6QztBQUFBLElBQ0Y7QUFBQSxJQUNBLFlBQVksQ0FBQyxPQUFPLFFBQVEsT0FBTztBQUFBLEVBQ3JDO0FBQUE7QUFBQSxFQUVBLFNBQVM7QUFBQSxJQUNQLElBQUk7QUFBQSxJQUNKLFNBQVM7QUFBQTtBQUFBLElBRVQsV0FBVztBQUFBLE1BQ1QsV0FBVyxDQUFDLG9CQUFvQixDQUFDO0FBQUEsSUFDbkMsQ0FBQztBQUFBLElBQ0QsV0FBVztBQUFBLE1BQ1QsS0FBSztBQUFBLE1BQ0wsTUFBTTtBQUFBLE1BQ04sV0FBVyxDQUFDLG9CQUFvQixDQUFDO0FBQUE7QUFBQSxJQUNuQyxDQUFDO0FBQUEsSUFDRCxnQkFBZ0I7QUFBQSxNQUNkLFNBQVM7QUFBQTtBQUFBLE1BQ1QsU0FBUztBQUFBO0FBQUEsTUFDVCxrQkFBa0I7QUFBQTtBQUFBLE1BQ2xCLFdBQVc7QUFBQTtBQUFBLE1BQ1gsV0FBVztBQUFBO0FBQUEsTUFDWCxLQUFLO0FBQUE7QUFBQSxJQUNQLENBQUM7QUFBQTtBQUFBLElBRUQsaUJBQWlCO0FBQUEsTUFDZixXQUFXO0FBQUEsSUFDYixDQUFDO0FBQUE7QUFBQSxJQUVELHFCQUFxQjtBQUFBO0FBQUEsTUFFbkIsVUFBVSxDQUFDLFFBQVEsUUFBUSxJQUFJLEdBQUcsZUFBZSxDQUFDO0FBQUEsSUFDcEQsQ0FBQztBQUFBLEVBQ0g7QUFBQSxFQUNBLEtBQUs7QUFBQSxJQUNILHFCQUFxQjtBQUFBO0FBQUEsTUFFbkIsTUFBTTtBQUFBLFFBQ0osZ0JBQWdCO0FBQUEsTUFDbEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsUUFBUTtBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBO0FBQUEsSUFFTixLQUFLO0FBQUEsTUFDSCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsT0FBTztBQUFBO0FBQUEsTUFFTCxRQUFRO0FBQUE7QUFBQSxRQUVOLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxVQUFVLEVBQUU7QUFBQSxNQUM5QztBQUFBO0FBQUEsTUFFQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxrQkFBa0IsRUFBRTtBQUFBLE1BQ3REO0FBQUEsTUFDQSxTQUFTO0FBQUE7QUFBQSxRQUVQLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxXQUFXLEVBQUU7QUFBQSxNQUMvQztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUE7QUFBQSxFQUVBLE9BQU87QUFBQSxJQUNMLFdBQVc7QUFBQTtBQUFBLElBRVgsdUJBQXVCO0FBQUEsSUFDdkIsZUFBZTtBQUFBLE1BQ2IsT0FBTztBQUFBLFFBQ0wsT0FBTyxRQUFRLFlBQVk7QUFBQSxNQUM3QjtBQUFBO0FBQUEsTUFFQSxRQUFRO0FBQUEsUUFDTixnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxNQUNsQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
